<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>文章列表</title>
    <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css" />
    <link rel="stylesheet" href="css/reset.css" />
    <link rel="stylesheet" href="css/iconfont.css" />
    <link rel="stylesheet" href="css/main.css" />
    <!-- jq -->
    <script src="./libs/jquery-1.12.4.min.js"></script>
    <!-- 模板引擎 -->
    <script src="./libs/template-web.js"></script>
    <!-- 导入日期插件 -->
    <script src="./libs/jedate/js/jedate.js"></script>
    <link rel="stylesheet" href="./libs/jedate/css/jeDate-test.css" />
    <link rel="stylesheet" href="./libs/jedate/css/jedate.css" />
    <!-- 导入副文本插件 -->
    <script src="./libs/wangEditor/wangEditor.min.js"></script>
  </head>

  <body>
    <div class="container-fluid">
      <div class="common_title">
        文章编辑
      </div>
      <div class="container-fluid common_con">
        <form class="form-horizontal article_form" id="form">
          <div class="form-group">
            <label for="inputTitle" class="col-sm-2 control-label"
              >文章标题：</label
            >
            <div class="col-sm-10">
              <input
                type="text"
                name="title"
                class="form-control title"
                id="inputTitle"
                value="文章标题文字"
              />
            </div>
          </div>
          <div class="form-group">
            <label for="inputCover" class="col-sm-2 control-label"
              >文章封面：</label
            >
            <div class="col-sm-10">
              <img src="images/pic06.jpg" class="article_cover" />
              <input name="cover" type="file" id="inputCover" />
            </div>
          </div>
          <div class="form-group">
            <label for="inputCategory" class="col-sm-2 control-label" >文章类别：</label
            >
            <div class="col-sm-4">
              <select class="form-control category" name="categoryId">
                <option>类别一</option>
                <option>类别二</option>
                <option>类别三</option>
                <option selected>类别四</option>
                <option>类别五</option>
              </select>
            </div>
          </div>
          <div class="form-group">
            <label class="col-sm-2 control-label">发布时间：</label>
            <div class="col-sm-4">
              <!-- 日期控件容器 -->
              <div class="jeinpbox">
                <input type="text"  class="jeinput"  id="testico"  placeholder="YYYY-MM-DD"  name="date" />
                <div class="icons jebtns"></div>
              </div>
            </div>
          </div>
          <div class="form-group">
            <label for="inputEmail3" class="col-sm-2 control-label"
              >文章内容：</label
            >
            <div class="col-sm-10">
              <!-- 副文本容器 -->
              <div id="editCom">
                <p>欢迎使用 <b>wangEditor</b> 富文本编辑器</p>
              </div>
            </div>
          </div>
          <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
              <button type="submit" class="btn btn-success btn-release">
                发布
              </button>
              <button type="submit" class="btn btn-default btn-draft">
                存为草稿
              </button>
            </div>
          </div>
        </form>
      </div>
    </div>
  </body>
</html>
<script src="./libs/https.js"></script>
<script>
  $(function () {
    //1.获得文章类别,渲染结构
    $.ajax({
      url: BigNew.category_list,
      type: 'get',
      success: function (backData) {
        // console.log(backData)
        if (backData.code == 200) {
          //结合数据,渲染结构
          let htmlStr = ''
          $.each(backData.data, function (index, value) {
            htmlStr += `
                       <option value="${value.id}">${value.name}</option>
                       `
          })
          $('.category').html(htmlStr)
        }
      }
    })

    //设置封面预览效果
    $('#inputCover').on('change', function () {
      let picData = this.files[0]
      let picUrl = URL.createObjectURL(picData)
      $('.article_cover').attr('src', picUrl)
    })

    //4.调用日期插件启动方法
    $('.jebtns').on('click', function () {
      jeDate('#testico', {
        trigger: false,
        format: 'YYYY-MM-DD',
        //    theme:{bgcolor:"#00A680",pnColor:"#00DDAA"},
        theme: { bgcolor: 'pink', pnColor: '#ee6129' },
        zIndex: 20000
      })
    })

    //5.调用副文本插件代码
      const E = window.wangEditor
    const editor = new E('#editCom')
    // 或者 const editor = new E( document.getElementById('editCom') )
    editor.create()



    //6.封装函数:保存文章数据
    function saveData(state){
        //7.获得文章保存数据
        //利用formData对象来获得数据
        //注意:控件的name值必须和借口参数一致
        let fd =new FormData(document.querySelector('form'))//title,cover,categoryId,date
        //手动添加 content,state
        fd.append('content',editor.txt.html())
        fd.append('state',state) 

        // console.log(fd.get('title'));
        // console.log(fd.get('cover'));
        // console.log(fd.get('categoryId'));
        // console.log(fd.get('date'));
        // console.log(fd.get('content'));
        // console.log(fd.get('state'));
    // 8.发起ajax请求,保存当前的数据
    $.ajax({
        url:BigNew.article_publish,
        type:'post',
        data:fd,
       contentType:false,
       processData:false,
        success: function(backData){
            console.log(backData);
            if (backData.code==200) {
                alert('文章发表成功');
                window.location='./article_list.html'
                //调用父页面元素的点击事件
                parent.$('.level02 li').eq(0).click()//触发高亮效果
                //必须用live server插件打开
            }
        }
    });

    }




    //设置发布/草稿按钮的点击事件
    $('.btn-release').on('click',function(e){
        e.preventDefault()
        saveData('已发布')
    })
    $('.btn-draft').on('click',function(e){
        e.preventDefault()
        saveData('草稿')
    })
  })
</script>
